package log

import "context"

/**
 *    Description: 抽象层log
 *    Date: 2024/3/18
 */

// KisLogger 日志接口
type KisLogger interface {
	InfoCtx(ctx context.Context, msg string, args ...interface{})  // 包含上下文的Info日志
	ErrorCtx(ctx context.Context, msg string, args ...interface{}) // 包含上下文的Error日志
	DebugCtx(ctx context.Context, msg string, args ...interface{}) // 包含上下文的Debug日志
	TraceCtx(ctx context.Context, msg string, args ...interface{}) // 包含上下文的Trace日志
	Info(msg string, args ...interface{})                          // 正常的Info日志
	Error(msg string, args ...interface{})                         // 正常的Error日志
	Debug(msg string, args ...interface{})                         // 正常的Debug日志
	Trace(msg string, args ...interface{})                         // 正常的Trace日志
}

// kisLog 默认的KisLog 对象
var kisLog KisLogger

// SetLogger 设置kisLog对象
func SetLogger(logger KisLogger) {
	kisLog = logger
}

// Logger 获取到kisLog对象
func Logger() KisLogger {
	return kisLog
}
